OI Visible Range Ladder [Kioseff Trading]Hello!
This Script “OI Visible Range Ladder” calculates open interest profiles for the visible range alongside an OI ladder for the visible period!
Features
OI Profile Anchored to Visible Range
OI Ladder Anchored to Visible Range
Standard POC and Value Area Lines, in Addition to Separated POCs and Value Area Lines for each category of OI x Price
Configurable Value Area Targets
Curved Profiles
Up to 9999 Profile Rows per Visible Range
Stylistic Options for Profiles
Up to 9999 volume profile levels (Price levels) can be calculated for each profile, thanks to the new polyline feature, allowing for less aggregation / more precision of open interest at price.
The image above shows primary functionality!
Green profiles = Up OI / Up Price
Yellow profiles = Down OI / Up Price
Purple profiles = Up OI / Down Price
Red profiles = Down OI / Down Price
The image above shows POCs for each OI x Price category!
Profiles can be anchored on the left side for a more traditional look.
The indicator is robust enough to calculate on “small price periods”, or for a price period spanning your entire chart fully zoomed out!
That’s about it :D
This indicator is Part of a series titled “Bull vs. Bear” - a suite of profile-like indicators.
Thanks for checking this out!
If you have any suggestions please feel free to share!
Wyszukaj w skryptach "open interest"
Multi-Asset Performance [Spaghetti] - By LeviathanThis indicator visualizes the cumulative percentage changes or returns of 30 symbols over a given period and offers a unique set of tools and data analytics for deeper insight into the performance of different assets.
Multi Asset Performance indicator (also called “Spaghetti”) makes it easy to monitor the changes in Price, Open Interest, and On Balance Volume across multiple assets simultaneously, distinguish assets that are overperforming or underperforming, observe the relative strength of different assets or currencies, use it as a tool for identifying mean reversion opportunities and even for constructing pairs trading strategies, detect "risk-on" or "risk-off" periods, evaluate statistical relationships between assets through metrics like correlation and beta, construct hedging strategies, trade rotations and much more.
Start by selecting a time period (e.g., 1 DAY) to set the interval for when data is reset. This will provide insight into how price, open interest, and on-balance volume change over your chosen period. In the settings, asset selection is fully customizable, allowing you to create three groups of up to 30 tickers each. These tickers can be displayed in a variety of styles and colors. Additional script settings offer a range of options, including smoothing values with a Simple Moving Average (SMA), highlighting the top or bottom performers, plotting the group mean, applying heatmap/gradient coloring, generating a table with calculations like beta, correlation, and RSI, creating a profile to show asset distribution around the mean, and much more.
One of the most important script tools is the screener table, which can display:
🔸 Percentage Change (Represents the return or the percentage increase or decrease in Price/OI/OBV over the current selected period)
🔸 Beta (Represents the sensitivity or responsiveness of asset's returns to the returns of a benchmark/mean. A beta of 1 means the asset moves in tandem with the market. A beta greater than 1 indicates the asset is more volatile than the market, while a beta less than 1 indicates the asset is less volatile. For example, a beta of 1.5 means the asset typically moves 150% as much as the benchmark. If the benchmark goes up 1%, the asset is expected to go up 1.5%, and vice versa.)
🔸 Correlation (Describes the strength and direction of a linear relationship between the asset and the mean. Correlation coefficients range from -1 to +1. A correlation of +1 means that two variables are perfectly positively correlated; as one goes up, the other will go up in exact proportion. A correlation of -1 means they are perfectly negatively correlated; as one goes up, the other will go down in exact proportion. A correlation of 0 means that there is no linear relationship between the variables. For example, a correlation of 0.5 between Asset A and Asset B would suggest that when Asset A moves, Asset B tends to move in the same direction, but not perfectly in tandem.)
🔸 RSI (Measures the speed and change of price movements and is used to identify overbought or oversold conditions of each asset. The RSI ranges from 0 to 100 and is typically used with a time period of 14. Generally, an RSI above 70 indicates that an asset may be overbought, while RSI below 30 signals that an asset may be oversold.)
⚙️ Settings Overview:
◽️ Period
Periodic inputs (e.g. daily, monthly, etc.) determine when the values are reset to zero and begin accumulating again until the period is over. This visualizes the net change in the data over each period. The input "Visible Range" is auto-adjustable as it starts the accumulation at the leftmost bar on your chart, displaying the net change in your chart's visible range. There's also the "Timestamp" option, which allows you to select a specific point in time from where the values are accumulated. The timestamp anchor can be dragged to a desired bar via Tradingview's interactive option. Timestamp is particularly useful when looking for outperformers/underperformers after a market-wide move. The input positioned next to the period selection determines the timeframe on which the data is based. It's best to leave it at default (Chart Timeframe) unless you want to check the higher timeframe structure of the data.
◽️ Data
The first input in this section determines the data that will be displayed. You can choose between Price, OI, and OBV. The second input lets you select which one out of the three asset groups should be displayed. The symbols in the asset group can be modified in the bottom section of the indicator settings.
◽️ Appearance
You can choose to plot the data in the form of lines, circles, areas, and columns. The colors can be selected by choosing one of the six pre-prepared color palettes.
◽️ Labeling
This input allows you to show/hide the labels and select their appearance and size. You can choose between Label (colored pointed label), Label and Line (colored pointed label with a line that connects it to the plot), or Text Label (colored text).
◽️ Smoothing
If selected, this option will smooth the values using a Simple Moving Average (SMA) with a custom length. This is used to reduce noise and improve the visibility of plotted data.
◽️ Highlight
If selected, this option will highlight the top and bottom N (custom number) plots, while shading the others. This makes the symbols with extreme values stand out from the rest.
◽️ Group Mean
This input allows you to select the data that will be considered as the group mean. You can choose between Group Average (the average value of all assets in the group) or First Ticker (the value of the ticker that is positioned first on the group's list). The mean is then used in calculations such as correlation (as the second variable) and beta (as a benchmark). You can also choose to plot the mean by clicking on the checkbox.
◽️ Profile
If selected, the script will generate a vertical volume profile-like display with 10 zones/nodes, visualizing the distribution of assets below and above the mean. This makes it easy to see how many or what percentage of assets are outperforming or underperforming the mean.
◽️ Gradient
If selected, this option will color the plots with a gradient based on the proximity of the value to the upper extreme, zero, and lower extreme.
◽️ Table
This section includes several settings for the table's appearance and the data displayed in it. The "Reference Length" input determines the number of bars back that are used for calculating correlation and beta, while "RSI Length" determines the length used for calculating the Relative Strength Index. You can choose the data that should be displayed in the table by using the checkboxes.
◽️ Asset Groups
This section allows you to modify the symbols that have been selected to be a part of the 3 asset groups. If you want to change a symbol, you can simply click on the field and type the ticker of another one. You can also show/hide a specific asset by using the checkbox next to the field.
Willspread Chart + POIV & ADVolumen TrendColor sπThe Indicator is a combination of different types of measurements to the Price Action.
1. Spread: The Spread is set to measure your Symbol to another chosen Market like Dollar as Contra . But you can switch also between different markets.
2. Accumulation/Distribution with True Range of High or Low including OpenInterest. This only works with Futures .
--Energies, Metals, Bonds, Softs, Currencies, Livestock, live cattle , feeder cattle, lean hogs , index--
Open Interest for:
ZW, ZC, ZS, ZM, ZL, ZO, ZR, CL, RB, HO, NG, GC, SI, HG, PA, PL, ZN, ZB, ZT, ZF, CC, CT, KC, SB, JO, LB, AUDUSD, GBPUSD, USDCAD, EURUSD, USDJPY, USDCHF, USDMXN, NZDUSD, USDRUB, DX, BTC, ETH, LE, GF, HE, NQ, NDX, ES, SPX, RTY, VIX,
3. Accumulation/Distribution with True Range of High or Low including Volume .
4. The color shows if the Market has positive or negative (Willspread, Volume or Open Interest)
5. The Indicator also shows Divergences to Price and Willspread Movements.
If you want to have more information just give me a message.
HPI for crypto [ptt]The Herrick Payoff Index is designed to show the amount of money flowing into or out of a futures contract.
This indicator uses open interest (from Binance PERP like this BTCUSDTPERP_OI) from during its calculations, therefore, the pairs being analyzed must contain open interest data on Binance.
The indicator only works with USDT pairs! Like RVNUSDT, BTCUSDT... does not work with USD pairs!
The indicator works in two mode.
Index mode - when the values moving 0-100
In this case, if the value below 10, it shows the money is flowing out of the futures contract and near the local bottom. If the value above 90, it shows the money is flowing into the futures contract and near the local top.
(The two trigger can be modified, the default is low:10 and high:90)
Oscillator mode - when the values moving around the origo (0)
In this case, if the value above 0 (green), it shows the money is flowing into the futures contract, this is bullish
If the value below 0 (red), it shows the money is flowing out of the futures contract, this is bearish
Per Volume Price ImpactLiquidity, Information and Market Timing
* Market Liquidity
The term liquidity can refer to many things in finance. In this article, we will limit the scope of discussion to the market’s ability to transact without incurring a significant increase in volatility.
As we know, liquidity and volatility have an inversed relationship — the more ample the liquidity, the lower the volatility (attributed to transaction cost, price movement and, so on). With this understanding, we can say large movements in the market are driven by low liquidity. This does not seem to make sense because the markets are huge, how can it possibly be illiquid? Now, this has to do with how the market operates and how exchanges occur (This topic concerns the area of market microstructure).
* Order Book & the Trading Process
So how does a transaction actually occur in the market? Let’s assume we open a position with a market order. In this case, you will get the price on your quote board if there are enough units of assets people are willing to sell at that price. If there are not enough units, you will buy from the second-best price and so on until your order is filled. Now in the second case, as the order is being filled, the change in price is recorded. Therefore, if someone wishes to move the market, theoretically, they just need to buy up or sell up but it is problematic to do so.
Here is why:
while dry up the liquidity can make huge moves, it is inefficient to do so.
it takes a lot of money to do that
your position will be exposed, someone more resourceful than you may go against you and that is a huge risk
market manipulation charges
when you open a position, the entry price of the position is essentially a VWAP (volume-weighted average price). If you attempt to move the market and open a buy position at the same time, you will have a higher VWAP, eating into your own profit.
I think these reasons are sufficient in establishing why opening a position and drying up liquidity to profit is a dumb idea. But of course, the institutions are not stupid, the alternative is to enter your position first then move the market.
To measure liquidity one of the tools people use is the order book. It can offer an overview of the sentiment (by looking at the orders and changes in volume) and how people are positioned (if the broker offers such data). In my opinion, open interest is a much better tool than order as it records the transactions that have occurred, hence less prone to manipulations (google: “Navinder Singh Sarao”, the trader who used fake orders to manipulate algorithms to crash the market).
But to quantify the order book is so much work as well (there are ways, just difficult), what we can do is to make things simpler.
* Quantify Market Impact
We know price and volume reflect information, while the past technical information has no predictive power per semi-strong form of EMH, empirical studies have often tested this theory over a longer time horizon. In our case, precisely due to the mechanism of exchange and human behavior (The lack of incentive to move the market right away) we can, in the very short term (often intraday), foresee if the market is going to move or not. Back to the very definition of liquidity being the ability to transact without moving the market significantly, we can take this definition and quantify it with this formula:
Market Impact = (High — Low) / Volume
Why specifically “high — low”, because that’s the complete information in that moment and it is corresponding to the volume. A little crude but it is the simplest form.
A few things to take note of here:
We can only know the complete picture once the candle is complete. This is fine in most markets because it takes time to gather money and orders.
We often see high liquidity during certain time of the day, for example, when the market opens and so on. As a result, we need to take some scientific approaches to transform the data.
Now, this looks much better. To interpret this graph, the lower the value, the lower the market impact, the deeper the liquidity.
* Generate Tradable Insights
To generate trade ideas isn’t a difficult task, we all know the RSI, MOM, STOC, etc. all the indicators attempt to draw boundaries, and we can do the same but we need to be a little more advanced and critical.
step 1: we first need to normalize the data. To do that we will take the log of the values to make the skewed distribution normal. The result isn’t ideal if you zoom out but I think this is decent enough to work with. Here is
This is still not a stationary time series, but it looks stable enough and it mean-reverts. So we turn to our lovely standard deviation bands for help.
Step 2: Because this is not a stationary process (visually, you can test it statistically if you wish), we cannot just take sample mean and SD and also because we want to show off our data skills, so we turn to move averages and regressions. I’m going to use moving regression here because I think it is better (mean can be distorted by large values by a larger margin and it lags)
I’m using the moving regression band on TradingView and 1.5 SD here for convenience, you can try to optimize the parameters with codes or other regression models if you wish. But I think it is more important to understand the rationale here.
This step is essentially trying to figure out the anomalies in liquidity so that we can see when there is deep liquidity. This is also why choosing the parameter is crucial because you are essentially approximating how much informed trading is taking place (This is a concept in market microstructure for brokerages to set their spreads but it is not a good tool in a liquid market). By setting the level at 1.5 we are assuming about 86% of the time the market is in what we consider a normal liquid state. (again it is arbitrary, but based on the 68–95–99.7 rule of normal distribution). The rest of the time will be either low or high liquidity, When liquidity is deep, it perhaps, signals institutional money is pouring into the market and big moves may follow.
* Conclusion
There you have it, how to enter the market with the big bucks. But do take note there are plenty of assumptions and a lot to improve on here.
MY_CME eod OI vs CFTC eow OIDaily e-o-d Open Interest as published by CME.
As CFTC COT Open Interest relates to last Tuesday, here you can have an idea how things evolved day-by-day since then.
As CME total OI is not accessibl as data, here I sum OI of the next 9 outstanding contracts, which gives a fair idea of the trend in OI
Hedge Pressure Index (HPI)Hedge Pressure Index (HPI)
Overview
The Hedge Pressure Index (HPI) is a flow-aware indicator that fuses daily options Open Interest (OI) with intraday put/call volume to estimate the directional hedging pressure of market makers and dealers. It helps traders visualize whether options flow is creating mechanical buy/sell pressure in IWM, and when that pressure may be shifting.
What HPI Shows
Daily OI Baseline (white line): Net OI carried forward intraday (Put OI − λ × Call OI). Updated once daily before the open.
Intraday Flow (teal line): Net put minus λ × call volume in real time. Smoothed to show underlying flow.
Spread Histogram (gray): Divergence between intraday flow and daily OI.
HPI Proxy Histogram (blue): Intraday hedge-pressure intensity. Strong extremes indicate heavy one-sided dealer hedging.
Trading Signals
Crossover:
When intraday Volume line crosses above OI, it suggests bullish hedge pressure.
When Volume line crosses below OI, it suggests bearish hedge pressure.
Z-Score Extremes:
HPI ≥ +1.5 → strong mechanical bid.
HPI ≤ −1.5 → strong mechanical offer.
Alerts: Built in for both crossovers and extreme readings.
How to Use HPI
1. Confirmation Tool (recommended for most traders):
Trade your usual price/technical setups.
Use HPI as a confirmation: only take trades that align with the hedge pressure direction.
2. Flow Bias (advanced):
Use HPI direction intraday as a standalone bias.
Fade signals when the histogram mean-reverts or crosses zero.
Best practice: Focus on the open and first 2 hours where hedging flows are most active. Combine with ATR/time-based stops.
Inputs
Demo Mode: If no OI/volume feed is set, the script uses chart volume for layout.
λ (Call Weight): Adjusts how much call volume offsets put volume (default = 1.0).
Smoothing Length: Smooths intraday flow line.
Z-Score Lookback: Sets lookback window for HPI extremes.
Custom Symbols:
Daily Net OI (pre-open OI difference).
Intraday Put Volume.
Intraday Call Volume.
Setup Instructions
Add the indicator to an IWM chart.
In Inputs, either keep Demo Mode ON (for layout) or enter your vendor’s Daily Net OI / Put Volume / Call Volume symbols.
Set alerts for crossovers and strong HPI readings to catch flow shifts in real time.
Optionally tune λ and smoothing to match your feed’s scale.
Notes
This is a proxy for dealer hedge pressure. For highest accuracy, replace the proxy histogram with gamma-weighted flow by strike/DTE when your data feed supports it.
Demo mode is for visualization only; live use requires a valid OI and volume feed.
Disclaimer
This script is for educational and research purposes only. It is not financial advice. Options and derivatives carry significant risk. Always test in a demo environment before using live capital.
Bitcoin Macro Trend Map [Ox_kali]
## Introduction
__________________________________________________________________________________
The “Bitcoin Macro Trend Map” script is designed to provide a comprehensive analysis of Bitcoin’s macroeconomic trends. By leveraging a unique combination of Bitcoin-specific macroeconomic indicators, this script helps traders identify potential market peaks and troughs with greater accuracy. It synthesizes data from multiple sources to offer a probabilistic view of market excesses, whether overbought or oversold conditions.
This script offers significant value for the following reasons:
1. Holistic Market Analysis : It integrates a diverse set of indicators that cover various aspects of the Bitcoin market, from investor sentiment and market liquidity to mining profitability and network health. This multi-faceted approach provides a more complete picture of the market than relying on a single indicator.
2. Customization and Flexibility : Users can customize the script to suit their specific trading strategies and preferences. The script offers configurable parameters for each indicator, allowing traders to adjust settings based on their analysis needs.
3. Visual Clarity : The script plots all indicators on a single chart with clear visual cues. This includes color-coded indicators and background changes based on market conditions, making it easy for traders to quickly interpret complex data.
4. Proven Indicators : The script utilizes well-established indicators like the EMA, NUPL, PUELL Multiple, and Hash Ribbons, which are widely recognized in the trading community for their effectiveness in predicting market movements.
5. A New Comprehensive Indicator : By integrating background color changes based on the aggregate signals of various indicators, this script essentially creates a new, comprehensive indicator tailored specifically for Bitcoin. This visual representation provides an immediate overview of market conditions, enhancing the ability to spot potential market reversals.
Optimal for use on timeframes ranging from 1 day to 1 week , the “Bitcoin Macro Trend Map” provides traders with actionable insights, enhancing their ability to make informed decisions in the highly volatile Bitcoin market. By combining these indicators, the script delivers a robust tool for identifying market extremes and potential reversal points.
## Key Indicators
__________________________________________________________________________________
Macroeconomic Data: The script combines several relevant macroeconomic indicators for Bitcoin, such as the 10-month EMA, M2 money supply, CVDD, Pi Cycle, NUPL, PUELL, MRVR Z-Scores, and Hash Ribbons (Full description bellow).
Open Source Sources: Most of the scripts used are sourced from open-source projects that I have modified to meet the specific needs of this script.
Recommended Timeframes: For optimal performance, it is recommended to use this script on timeframes ranging from 1 day to 1 week.
Objective: The primary goal is to provide a probabilistic solution to identify market excesses, whether overbought or oversold points.
## Originality and Purpose
__________________________________________________________________________________
This script stands out by integrating multiple macroeconomic indicators into a single comprehensive tool. Each indicator is carefully selected and customized to provide insights into different aspects of the Bitcoin market. By combining these indicators, the script offers a holistic view of market conditions, helping traders identify potential tops and bottoms with greater accuracy. This is the first version of the script, and additional macroeconomic indicators will be added in the future based on user feedback and other inputs.
## How It Works
__________________________________________________________________________________
The script works by plotting each macroeconomic indicator on a single chart, allowing users to visualize and interpret the data easily. Here’s a detailed look at how each indicator contributes to the analysis:
EMA 10 Monthly: Uses an exponential moving average over 10 monthly periods to signal bullish and bearish trends. This indicator helps identify long-term trends in the Bitcoin market by smoothing out price fluctuations to reveal the underlying trend direction.Moving Averages w/ 18 day/week/month.
Credit to @ryanman0
M2 Money Supply: Analyzes the evolution of global money supply, indicating market liquidity conditions. This indicator tracks the changes in the total amount of money available in the economy, which can impact Bitcoin’s value as a hedge against inflation or economic instability.
Credit to @dylanleclair
CVDD (Cumulative Value Days Destroyed): An indicator based on the cumulative value of days destroyed, useful for identifying market turning points. This metric helps assess the Bitcoin market’s health by evaluating the age and value of coins that are moved, indicating potential shifts in market sentiment.
Credit to @Da_Prof
Pi Cycle: Uses simple and exponential moving averages to detect potential sell points. This indicator aims to identify cyclical peaks in Bitcoin’s price, providing signals for potential market tops.
Credit to @NoCreditsLeft
NUPL (Net Unrealized Profit/Loss): Measures investors’ unrealized profit or loss to signal extreme market levels. This indicator shows the net profit or loss of Bitcoin holders as a percentage of the market cap, helping to identify periods of significant market optimism or pessimism.
Credit to @Da_Prof
PUELL Multiple: Assesses mining profitability relative to historical averages to indicate buying or selling opportunities. This indicator compares the daily issuance value of Bitcoin to its yearly average, providing insights into when the market is overbought or oversold based on miner behavior.
Credit to @Da_Prof
MRVR Z-Scores: Compares market value to realized value to identify overbought or oversold conditions. This metric helps gauge the overall market sentiment by comparing Bitcoin’s market value to its realized value, identifying potential reversal points.
Credit to @Pinnacle_Investor
Hash Ribbons: Uses hash rate variations to signal buying opportunities based on miner capitulation and recovery. This indicator tracks the health of the Bitcoin network by analyzing hash rate trends, helping to identify periods of miner capitulation and subsequent recoveries as potential buying opportunities.
Credit to @ROBO_Trading
## Indicator Visualization and Interpretation
__________________________________________________________________________________
For each horizontal line representing an indicator, a legend is displayed on the right side of the chart. If the conditions are positive for an indicator, it will turn green, indicating the end of a bearish trend. Conversely, if the conditions are negative, the indicator will turn red, signaling the end of a bullish trend.
The background color of the chart changes based on the average of green or red indicators. This parameter is configurable, allowing adjustment of the threshold at which the background color changes, providing a clear visual indication of overall market conditions.
## Script Parameters
__________________________________________________________________________________
The script includes several configurable parameters to customize the display and behavior of the indicators:
Color Style:
Normal: Default colors.
Modern: Modern color style.
Monochrome: Monochrome style.
User: User-customized colors.
Custom color settings for up trends (Up Trend Color), down trends (Down Trend Color), and NaN (NaN Color)
Background Color Thresholds:
Thresholds: Settings to define the thresholds for background color change.
Low/High Red Threshold: Low and high thresholds for bearish trends.
Low/High Green Threshold: Low and high thresholds for bullish trends.
Indicator Display:
Options to show or hide specific indicators such as EMA 10 Monthly, CVDD, Pi Cycle, M2 Money, NUPL, PUELL, MRVR Z-Scores, and Hash Ribbons.
Specific Indicator Settings:
EMA 10 Monthly: Options to customize the period for the exponential moving average calculation.
M2 Money: Aggregation of global money supply data.
CVDD: Adjustments for value normalization.
Pi Cycle: Settings for simple and exponential moving averages.
NUPL: Thresholds for unrealized profit/loss values.
PUELL: Adjustments for mining profitability multiples.
MRVR Z-Scores: Settings for overbought/oversold values.
Hash Ribbons: Options for hash rate moving averages and capitulation/recovery signals.
## Conclusion
__________________________________________________________________________________
The “Bitcoin Macro Trend Map” by Ox_kali is a tool designed to analyze the Bitcoin market. By combining several macroeconomic indicators, this script helps identify market peaks and troughs. It is recommended to use it on timeframes from 1 day to 1 week for optimal trend analysis. The scripts used are sourced from open-source projects, modified to suit the specific needs of this analysis.
## Notes
__________________________________________________________________________________
This is the first version of the script and it is still in development. More indicators will likely be added in the future. Feedback and comments are welcome to improve this tool.
## Disclaimer:
__________________________________________________________________________________
Please note that the Open Interest liquidation map is not a guarantee of future market performance and should be used in conjunction with proper risk management. Always ensure that you have a thorough understanding of the indicator’s methodology and its limitations before making any investment decisions. Additionally, past performance is not indicative of future results.
VOIThis indicator just divide Volumes by Open Interest. This is usefull to see the average size of positions of orders in OI. You can easly see if actors in OI are huges one or just retails.
DELTA VOLThe indicator shows the volume of buy and sell separately as well as the volume delta, it can be used together with the Open Interest to see if the price rises due to the opening of Long or the closing of Short and in the same way to see if the price falls due to the opening of Short or Longs closing
GEX Options Flow Pro 100% free
INTRODUCTION
This script is designed to visualize advanced options-derived metrics and levels on TradingView charts, including Gamma Exposure (GEX) walls, gamma flip points, vanna levels, delta-neutral prices (DEX), max pain, implied moves, and more. It overlays dynamic lines, labels, boxes, and an info table to highlight potential support, resistance, volatility regimes, and flow dynamics based on options data.
These visualizations aim to help users understand how options market structure might influence price action, such as areas of potential stability (positive GEX) or volatility (negative GEX). All data is user-provided via pasted strings, as Pine Script cannot fetch external options data directly due to platform limitations (detailed below).
The script is open-source under TradingView's terms, allowing study, modification, and improvement. It draws inspiration from standard options Greeks and exposure metrics (e.g., gamma, vanna, charm) discussed in financial literature like Black-Scholes models and dealer positioning analyses. No external code is copied; all logic is original or based on mathematical formulas.
Disclaimer: This is an educational tool only. It does not provide investment advice, trading signals, or guarantees of performance. Past data is not indicative of future results. Use at your own risk, and combine with your own analysis. Not intended for qualified investors only.
How the Options Levels Are Calculated
Levels are not computed in Pine Script—they rely on pre-calculated values from external tools (e.g., Python scripts using libraries like yfinance for options chains). Here's how they're typically derived externally before pasting into the script:
Fetching Options Data: Retrieve options chain for a ticker: strikes, open interest (OI), volume, implied volatility (IV), expirations (e.g., shortest: 0-7 DTE, short: 7-14 DTE, medium: ~30 DTE, long: ~90 DTE). Get current price and 5-day history for context.
Gamma Walls (Put/Call Walls): Compute gamma for each option using Black-Scholes: gamma = N'(d1) / (S * σ * √T) where S = spot price, K = strike, T = time to expiration (years), σ = IV, N'(d1) = normal PDF. Aggregate GEX at strikes: GEX = sign * gamma * OI * 100 * S^2 * 0.01 (per 1% move, with sign based on dealer positioning: typically short calls/puts = negative GEX). Put Wall: Highest absolute GEX put strike below S (support via dealer buying on dips). Call Wall: Highest absolute GEX call strike above S (resistance via dealer selling on rallies). Secondary/Tertiary: Next highest levels. Historical walls track tier-1 levels over 5 days.
Gamma Flip: Net GEX profile across prices: Sum GEX for all options at hypothetical spots. Flip point: Interpolated price where net GEX changes sign (stable above, volatile below).
Vanna Levels: Vanna = -N'(d1) * d2 / σ. Weighted by OI; highest positive/negative strikes.
DEX (Delta-Neutral Price): Net dealer delta: Sum (delta * OI * 100 * sign), with delta from Black-Scholes. DEX: Price where net delta = 0 (interpolated).
Max Pain: Strike minimizing total intrinsic value for all options holders.
Skew: 25-delta skew: IV difference between 25-delta put and call (interpolated).
Net GEX/Delta: Total signed GEX/delta at current S.
Implied Move: ATM IV * √(DTE/365) for 1σ range.
C/P Ratio: (Call OI + volume) / (Put OI + volume).
Smart Stop Loss: Below lowest support (e.g., Put Wall, gamma flip), buffered by IV * √(DTE/30).
Other Metrics: IV: ATM average. 5-day metrics: Avg volume, high/low.
External tools handle dealer assumptions (e.g., short calls/puts) and scaling (per % move).
Effect as Support and Resistance in Technical Trading
Options levels reflect dealer hedging dynamics:
Put Wall (Gamma Support): High put GEX creates buying pressure on dips (dealers hedge short puts by buying stock). Use for long entries, bounces, or stops below.
Call Wall (Gamma Resistance): High call GEX leads to selling on rallies. Good for trims, shorts, or reversals.
Gamma Flip: Pivot for volatility—above: dampened moves (positive GEX, mean reversion); below: amplified trends (negative GEX, momentum).
Vanna Levels: Sensitivity to IV changes; crosses may signal vol shifts.
DEX: Dealer delta neutral—bullish if price below with positive delta.
Max Pain: Price magnet minimizing option payouts.
Implied Move/Confidence Bands: Expected ranges (1σ/2σ/3σ); breakouts suggest extremes.
Liquidity Zones: Wall ranges as price magnets.
Smart Stop Loss: Protective level below supports, IV-adjusted.
C/P Ratio & Skew: Sentiment (high C/P = bullish; high skew = put demand).
Net GEX: Positive = low vol strategies (e.g., condors); negative = momentum trades.
Combine with TA (e.g., volume, trends). High activity strengthens effects; alerts on crosses/proximities for awareness.
Limitations of the TradingView Platform for Data Pulling
Pine Script is sandboxed:
No API calls or internet access (can't fetch options data directly).
Limited to chart/symbol data; no real-time chains.
Inputs static per load; manual updates needed.
Caching not persistent across sessions.
This ensures lightweight scripts but requires external data sourcing.
Creative Solution for On-Demand Data Pulling
Users can use external tools (e.g., Python scripts with yfinance) to fetch/compute data on demand. Generate a formatted string (ticker,timestamp|term1_data|term2_data|...), paste into inputs. Tools can process multiple tickers, cache for ~15-30 min, and output strings for quick portfolio scanning. Run locally or via custom setups for near-real-time updates without platform violations.
For convenience, a free bot is available on my website that accepts commands like !gex to generate both current data strings (for all expiration terms) and historical walls data on demand. This allows users to easily obtain fresh or cached data (refreshed every ~30 min) for pasting into the indicator—ideal for scanning portfolios without manual coding.
Script Functionality Breakdown
Inputs: Data strings (current/historical); term selector (Shortest/Short/Medium/Long); toggles (historical walls, GEX profile, secondaries, vanna, table, max pain, DEX, stop loss, implied move, liquidity, bands); colors/styles.
Parsing: Extracts term-specific data; validates ticker match; gets timestamp for freshness.
Drawing: Dynamic lines/labels (width/color by GEX strength); boxes (moves, zones, bands); clears on updates.
Info Table: Dashboard with status (freshness emoji), Greeks (GEX/delta with emojis), vol (IV/skew), levels (distances), flow (C/P, vol vs 5D).
Historical Walls: Displays past tier-1 walls on daily+ timeframes.
Alerts: 20+ conditions (e.g., near/cross walls, GEX sign change, high IV).
Performance: Efficient for real-time; smart label positioning.
Release Notes
Initial release: Full features including multi-term support, enhanced table with emojis/sentiment, dynamic visuals, smart stop loss.
Data String Format: TICKER,TIMESTAMP|TERM1_DATA|TERM2_DATA|TERM3_DATA|TERM4_DATA Where each TERM_DATA = val0,val1,...,val30 (31 floats: current_price, prev_close, call_wall_1, call_wall_1_gex, ..., low_5d). Historical: TICKER|TERM1_HIST|... where TERM_HIST = date:cw,pw;date:cw,pw;...
Feedback welcome in comments. Educational only—not advice.
TradeQUO Herrick Payoff RSIHerrick Payoff Index RSI (HPI-RSI) with Signal Line
An advanced oscillator that measures market strength not just by price, but by "smart money flow."
This indicator is not a typical RSI. Instead of applying the Relative Strength Index to price alone, it calculates it on the cumulative Herrick Payoff Index (HPI) . This creates a unique oscillator that reflects the underlying sentiment and capital flow in the market.
What is the Herrick Payoff Index (HPI)?
The HPI is a classic sentiment indicator that combines three crucial elements to determine if money is flowing into or out of an asset:
Price Change: The direction and momentum of the market.
Trading Volume: The conviction behind the price movement.
Open Interest (OI): The total number of open contracts (mainly in futures), which indicates if new capital is entering the market.
By combining these factors, the HPI provides a more comprehensive picture of market strength than indicators based solely on price.
How This Indicator Works
The script follows a logical, multi-step process:
It calculates the raw Herrick Payoff Index for each bar.
It creates a cumulative sum of this index to generate a continuous money flow value.
This cumulative value is smoothed with a short-period EMA to reduce noise.
The RSI is then applied to this smoothed HPI value.
An additional, configurable signal line (moving average) is added to facilitate trading signals.
Interpretation and Application
You can use this indicator much like a standard RSI, but with the added context of money flow:
Overbought/Oversold: Values above 70 suggest an overbought condition, while values below 30 signal an oversold condition.
Signal Line Crossovers: A cross of the HPI-RSI line above the signal line can be seen as a bullish signal. A cross below can be seen as a bearish signal.
Divergences: Look for divergences between the indicator and the price. A bullish divergence (price makes a lower low, indicator makes a higher low) can indicate an upcoming move to the upside. A bearish divergence (price makes a higher high, indicator makes a lower high) can signal a potential move to the downside.
Settings
The indicator has been deliberately kept simple:
HPI Smoothing Length: Smoothing length (1-5) for the cumulative HPI.
RSI Length: The lookback period for the RSI calculation.
Signal Line Settings: Here you can enable/disable the signal line and customize its type and length.
Display Settings: Adjust the colors of the RSI and signal lines to your preference.
This indicator is a tool for analysis and should always be used in combination with other methods and a solid risk management strategy. Happy trading!
Combo Gama Exposure + EMA + SMA 1.0Gamma Exposure (GEX) for the CBOE Volatility Index ( TVC:VIX ) is an estimate of how much option sellers need to hedge for every 1% change in the underlying asset's price. It's also known as Gamma Levels.
How is GEX calculated?
GEX is calculated based on a 1% move of the underlying security
It's calculated and updated throughout the day
It's based on market positioning and open interest
These regions are important because they show the regions where players can act more aggressively to defend their positions. When inserting the indicator on the chart, a popup will open requesting the GEX levels (Put wall, Vix Call Wall 0DTE, etc.)
In addition, 3 moving averages will be inserted into the chart. A 9-period exponential moving average, a 20-period arithmetic moving average, and a 200-period arithmetic moving average. These moving averages aim to indicate the possible trend of the asset, where pullbacks in these averages can signal a possible entry in favor of the trend.
Commitment of Trader %R StrategyThis Pine Script strategy utilizes the Commitment of Traders (COT) data to inform trading decisions based on the Williams %R indicator. The script operates in TradingView and includes various functionalities that allow users to customize their trading parameters.
Here’s a breakdown of its key components:
COT Data Import:
The script imports the COT library from TradingView to access historical COT data related to different trader groups (commercial hedgers, large traders, and small traders).
User Inputs:
COT data selection mode (e.g., Auto, Root, Base currency).
Whether to include futures, options, or both.
The trader group to analyze.
The lookback period for calculating the Williams %R.
Upper and lower thresholds for triggering trades.
An option to enable or disable a Simple Moving Average (SMA) filter.
Williams %R Calculation: The script calculates the Williams %R value, which is a momentum indicator that measures overbought or oversold levels based on the highest and lowest prices over a specified period.
SMA Filter: An optional SMA filter allows users to limit trades to conditions where the price is above or below the SMA, depending on the configuration.
Trade Logic: The strategy enters long positions when the Williams %R value exceeds the upper threshold and exits when the value falls below it. Conversely, it enters short positions when the Williams %R value is below the lower threshold and exits when the value rises above it.
Visual Elements: The script visually indicates the Williams %R values and thresholds on the chart, with the option to plot the SMA if enabled.
Commitment of Traders (COT) Data
The COT report is a weekly publication by the Commodity Futures Trading Commission (CFTC) that provides a breakdown of open interest positions held by different types of traders in the U.S. futures markets. It is widely used by traders and analysts to gauge market sentiment and potential price movements.
Data Collection: The COT data is collected from futures commission merchants and is published every Friday, reflecting positions as of the previous Tuesday. The report categorizes traders into three main groups:
Commercial Traders: These are typically hedgers (like producers and processors) who use futures to mitigate risk.
Non-Commercial Traders: Often referred to as speculators, these traders do not have a commercial interest in the underlying commodity but seek to profit from price changes.
Non-reportable Positions: Small traders who do not meet the reporting threshold set by the CFTC.
Interpretation:
Market Sentiment: By analyzing the positions of different trader groups, market participants can gauge sentiment. For instance, if commercial traders are heavily short, it may suggest they expect prices to decline.
Extreme Positions: Some traders look for extreme positions among non-commercial traders as potential reversal signals. For example, if speculators are overwhelmingly long, it might indicate an overbought condition.
Statistical Insights: COT data is often used in conjunction with technical analysis to inform trading decisions. Studies have shown that analyzing COT data can provide valuable insights into future price movements (Lund, 2018; Hurst et al., 2017).
Scientific References
Lund, J. (2018). Understanding the COT Report: An Analysis of Speculative Trading Strategies.
Journal of Derivatives and Hedge Funds, 24(1), 41-52. DOI:10.1057/s41260-018-00107-3
Hurst, B., O'Neill, R., & Roulston, M. (2017). The Impact of COT Reports on Futures Market Prices: An Empirical Analysis. Journal of Futures Markets, 37(8), 763-785.
DOI:10.1002/fut.21849
Commodity Futures Trading Commission (CFTC). (2024). Commitment of Traders. Retrieved from CFTC Official Website.
COT | MERCORThis Pine Script is designed for use on the TradingView platform to visualize various Commitment of Traders (COT) data for trading analysis. The COT reports provide a breakdown of each Tuesday’s open interest in the futures markets, which is valuable for understanding market sentiment. This script specifically focuses on displaying the positions of commercial and noncommercial traders (large speculators), both in long and short positions, as well as their net positions. Here’s a breakdown of the script’s components and how to use it:
Script Components
Indicator Declaration: The script begins by declaring a custom indicator using indicator() function, naming it "COT | MERCOR", and setting a short title and precision.
Library Import: It imports a library TradingView/LibraryCOT/2 as cot, which is likely a mock representation for the purpose of this description, assuming a library that provides COT data functions.
User Inputs:
shortNegative: A boolean input that allows users to choose whether short positions are displayed as negative numbers.
invertColors: A boolean input for users to decide if they want to invert the default colors of the plot lines.
lineWidth: An integer input that lets users adjust the width of the plotted lines.
COT Data Requests: The script requests COT data for both commercial and noncommercial traders' long and short positions using cot.COTTickerid() function. This includes constructing identifiers for these data points based on the user's input and predefined criteria (like "Commercial Positions" or "Noncommercial Positions", and direction "Long" or "Short").
Data Plotting: The script plots the retrieved data points on the chart, using different colors and line styles to distinguish between commercial and noncommercial positions, as well as between long, short, and net positions. It includes options to adjust the appearance based on user inputs (like inverting colors or changing line width).
Zero Line: A horizontal line (hline) is plotted at zero to provide a baseline for comparison.
How to Use
Adding the Script to Your Chart:
On TradingView, open the Pine Editor.
Paste this script into the Pine Editor.
Save and add the script to your chart.
Customizing the Display:
You can toggle whether short positions are displayed as negative numbers through the "Show Shorts as Negative Numbers?" checkbox.
Use the "Invert Colors?" checkbox to swap the colors used for plotting the positions.
Adjust the "Line Width" option to change the thickness of the plotted lines according to your preference.
Analyzing the Data:
The plotted lines represent the long, short, and net positions of commercial and noncommercial traders.
Commercial positions are typically considered the positions of entities involved in the production, processing, or merchandising of a commodity, whereas noncommercial positions represent large speculators, such as hedge funds.
The net positions (long minus short) provide insight into the overall bullish or bearish sentiment among these trader categories.
By examining these positions, traders can gain insights into potential market moves based on the behaviors of key market participants.
This script is a powerful tool for traders who want to incorporate COT report data into their market analysis on TradingView. By visualizing the trading positions of significant market players, it aids in making informed trading decisions.
Accumulation/Distribution Open Interest Money Flow Hi, this script is the version of Accumulation / Distribution Money Flow (ADMF) that uses Open Interes ts in the required markets instead of Volume.
Can be set from the menu. (Futures/Others)
NOTE: I only modified this script.
The original script belongs to cl8DH.
Original of the script:
I think it will make a difference in the future and commodity markets.
Since the system uses CFTC data, use only for 1W timeframe.
With my best regards..
Non-commercial Interest Percent Comparison Non-FXThis script compares IMM CFTC net positioning in percentage terms for several instruments.
Load it onto any weekly chart. The data displayed is independent of the chart instrument.
On the Inputs tab, uncheck "Show Legend" to hide the legend (useful if you want to change the plot colours or it is getting in the way).
On the Inputs tab, select "Total OI" to show the net positions expressed as a percentage of Total Open Interest; or "Non-com positions" to show them expressed as a percentage of Non-commercial Longs + Shorts. The default is "Total OI".
On the Style tab, change the plot colours, etc. as necessary. Note that the legend will not reflect the new colours.
This is the second version. I had to rename it and publish it as new because I couldn't update the published version, despite it being almost exactly the same. Please feel free to copy and modify it however you wish.
An FX version is also available.
Non-commercial Interest Percent Comparison OtherThis script compares IMM CFTC net positioning in percentage terms for several instruments.
Load it onto any weekly chart. The data displayed is independent of the chart instrument.
On the Inputs tab, uncheck "Show Legend" to hide the legend (useful if you want to change the plot colours or it is getting in the way).
On the Inputs tab, select "Total OI" to show the net positions expressed as a percentage of Total Open Interest; or "Non-com positions" to show them expressed as a percentage of Non-commercial Longs + Shorts. The default is "Total OI".
On the Style tab, change the plot colours, etc. as necessary. Note that the legend will not reflect the new colours.
This is my first script and I couldn't get some things working as I wanted (such as multi-line declared functions and if-then-else blocks), so sorry the code's a bit clunky. Please feel free to copy and modify it however you wish.
An FX version is also available.
Non-commercial Interest Percent Comparison FXThis script compares IMM CFTC net positioning in percentage terms for several FX instruments.
Load it onto any weekly chart. The data displayed is independent of the chart instrument.
On the Inputs tab, uncheck "Show Legend" to hide the legend (useful if you want to change the plot colours or it is getting in the way).
On the Inputs tab, select "Total OI" to show the net positions expressed as a percentage of Total Open Interest; or "Non-com positions" to show them expressed as a percentage of Non-commercial Longs + Shorts. The default is "Total OI".
On the Style tab, change the plot colours, etc. as necessary. Note that the legend will not reflect the new colours.
This is my first script and I couldn't get some things working as I wanted (such as multi-line declared functions and if-then-else blocks), so sorry the code's a bit clunky. Please feel free to copy and modify it however you wish.
A non-FX version is also available.
COT (Legacy): Non-Reportable Interest PercentPercent in Open Interest for non reportable traders from legacy commitment of traders (COT) report. For the main symbol but also allows to override it. Also allows to include options in consideration.
COT (Legacy): Non-Reportable Interest ChangeChange in Open Interest for non reportable traders from legacy commitment of traders (COT) report. For the main symbol but also allows to override it. Also allows to include options in consideration.
COT (Legacy): Reportable Interest PercentPercent of Open Interest for all reportable traders from legacy commitment of traders (COT) report. For the main symbol but also allows to override it. Also allows to include options in consideration.
COT (Legacy): Reportable Interest ChangeChange in Open Interest for all reportable traders from legacy commitment of traders (COT) report. For the main symbol but also allows to override it. Also allows to include options in consideration.